*** Settings ***
Resource  ../流程层.robot
Suite Setup  进入redis运营管理页
Suite Teardown  关闭浏览器
Force Tags  回归测试

*** Variables ***
&{set}  key=aaaaa  value=1a2B  param=aaaaa 1a2B

*** Test Cases ***
SET命令执行正例
    # 点击执行命令按钮
    点击元素  xpath=//*[@id="app"]/div/div/div[2]/div/div[2]/div/div[1]/div/ul/li/button
    # 点击命令类型下拉框
    点击元素  xpath=//input[@placeholder='请选择']
    # 选择SET命令类型
    点击元素  xpath=//span[text()='SET']
    # 输入参数
    输入文本
    ...  //*[@id="app"]/div/div[2]/div/div/div[2]/div/form/div[1]/div[2]/div/div/form/div[1]/div[2]/div/div/div/input
    ...  ${set}[param]
    # 点击执行按钮
    点击元素  xpath=//*[@id="app"]/div/div[2]/div/div/div[2]/div/form/div[2]/div/div/div/div/button[1]
    # 等待ok元素出现，判断执行成功
    wait until element is visible  xpath=//span[text()='"OK"']

GET命令执行正例
    # 点击命令类型下拉框
    点击元素  xpath=//input[@placeholder='请选择']
    # 选择GET命令
    点击元素  xpath=//span[text()='GET']
    # 输入参数
    输入文本
    ...  //*[@id="app"]/div/div[2]/div/div/div[2]/div/form/div[1]/div[2]/div/div/form/div[1]/div[2]/div/div/div/input
    ...  ${set}[key]
    # 点击执行按钮
    点击元素  xpath=//*[@id="app"]/div/div[2]/div/div/div[2]/div/form/div[2]/div/div/div/div/button[1]
    # 等待包含key值的元素出现，判断命令执行成功
    wait until element is visible  xpath=//span[text()='"1a2B"']

TYPE命令执行正例
    # 点击命令类型下拉框
    点击元素  xpath=//input[@placeholder='请选择']
    # 选择TYPE命令
    点击元素  xpath=//span[text()='TYPE']
    # 输入参数
    输入文本
    ...  //*[@id="app"]/div/div[2]/div/div/div[2]/div/form/div[1]/div[2]/div/div/form/div[1]/div[2]/div/div/div/input
    ...  ${set}[key]
    # 点击执行按钮
    点击元素  xpath=//*[@id="app"]/div/div[2]/div/div/div[2]/div/form/div[2]/div/div/div/div/button[1]
    # 等待包含key值类型的元素出现，判断命令执行成功
    wait until element is visible  xpath=//span[text()='"string"']

关闭按钮功能测试
    # 点击关闭按钮
    点击元素  xpath=//button[@class='el-button close_btn el-button--default el-button--small']
    # 通过redis管理页的检索条件元素可见，来判断关闭按钮生效
    wait until element is visible  xpath=//span[@class='leftFont']

key检索流程正例
    # 输入key
    输入文本  xpath=//input[@class='el-input__inner']  ${set}[key]
    # 点击检索按钮
    点击元素  xpath=//*[@id="app"]/div/div/div[1]/div/div[2]/span/button[1]
    # 等待检索结果中包含key的元素出现，判断检索成功
    wait until element is visible  xpath=//span[contains(text(),'aaaaa')]
    # 点击添加的key
    点击元素  xpath=//span[text()='aaaaa']
    # 判断展示的key值是否包含${set}[value]
    ${text}  获取文本  xpath=//*[@id="app"]/div/div/div[2]/div/div[2]/div/div[2]/div/div[2]/div/span
    should contain  ${text}  ${set}[value]

检索清空按钮功能测试
    # 点击清空按钮
    点击元素  xpath=//*[@id="app"]/div/div/div[1]/div/div[2]/span/button[2]
    # 获取key值输入框内的值
    ${value}  获取值  xpath=//*[@id="app"]/div/div/div[1]/div/div[2]/div/form/div[1]/div[1]/div/div/div/span/div/input
    # 判断为空，证明清空成功
    should be empty  ${value}

DEL命令删除key正例
    # 点击执行命令按钮
    点击元素  xpath=//*[@id="app"]/div/div/div[2]/div/div[2]/div/div[1]/div/ul/li/button
    # 点击命令类型下拉框
    点击元素  xpath=//input[@placeholder='请选择']
    # 选择DEL命令类型
    点击元素  xpath=//span[text()='DEL']
    # 输入参数
    输入文本
    ...  //*[@id="app"]/div/div[2]/div/div/div[2]/div/form/div[1]/div[2]/div/div/form/div[1]/div[2]/div/div/div/input
    ...  ${set}[key]
    # 点击执行按钮
    点击元素  xpath=//*[@id="app"]/div/div[2]/div/div/div[2]/div/form/div[2]/div/div/div/div/button[1]
    # 等待返回结果为1的元素出现
    wait until element is visible  xpath=//span[text()='"1"']
    # 再次GET，查看结果是否为空
    点击元素  xpath=//input[@placeholder='请选择']
    点击元素  xpath=//span[text()='GET']
    输入文本
    ...  //*[@id="app"]/div/div[2]/div/div/div[2]/div/form/div[1]/div[2]/div/div/form/div[1]/div[2]/div/div/div/input
    ...  ${set}[key]
    点击元素  xpath=//*[@id="app"]/div/div[2]/div/div/div[2]/div/form/div[2]/div/div/div/div/button[1]
    sleep  1
    # 获取结果文本
    ${value}  获取文本
    ...  xpath=//*[@id="app"]/div/div[2]/div/div/div[2]/div/form/div[1]/div[2]/div/div/form/div[2]/div/div/div[2]/div/span
    should be equal  ${value}  []
    # 点击关闭按钮
    点击元素  xpath=//button[@class='el-button close_btn el-button--default el-button--small']
    # 再次输入key检索
    输入文本  xpath=//input[@class='el-input__inner']  ${set}[key]
    点击元素  xpath=//*[@id="app"]/div/div/div[1]/div/div[2]/span/button[1]
    # 预期结果：暂无数据元素出现
    wait until element is visible  xpath=//span[text()='暂无数据']

